package com.cgws.fintech.inner.business.customer.swagger.handler;

import com.example.victory.swagger.model.ApiRequestClickCollect;
import com.example.victory.swagger.model.ApiRequestCustomerId;
import com.example.victory.swagger.model.ApiRequestCustomersPage;
import com.example.victory.swagger.model.ApiRequestNewOpenCustomersPage;
import com.example.victory.swagger.model.ApiRequestSituation;
import com.example.victory.swagger.model.ApiResponseAccountStatus;
import com.example.victory.swagger.model.ApiResponseCapital;
import com.example.victory.swagger.model.ApiResponseCommissionTrade;
import com.example.victory.swagger.model.ApiResponseCreditExchange;
import com.example.victory.swagger.model.ApiResponseCustomer;
import com.example.victory.swagger.model.ApiResponseCustomers;
import com.example.victory.swagger.model.ApiResponseDepOverview;
import com.example.victory.swagger.model.ApiResponseMessages;
import com.example.victory.swagger.model.ApiResponseNewOpenCustomers;
import com.example.victory.swagger.model.ApiResponseNewOpenCustomersPage;
import com.example.victory.swagger.model.ApiResponseNormalExchange;
import com.example.victory.swagger.model.ApiResponseNull;
import com.example.victory.swagger.model.ApiResponseOptionExchange;
import com.example.victory.swagger.model.ApiResponseOptionPositions;
import com.example.victory.swagger.model.ApiResponseOtcPositions;
import com.example.victory.swagger.model.ApiResponseSituation;
import com.example.victory.swagger.model.ApiResponseStockPositions;
import org.springframework.http.ResponseEntity;

/**
 * A delegate to be called by the {@link MiniAppApiController}}.
 * Implement this interface with a {@link org.springframework.stereotype.Service} annotated class.
 */
@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2021-04-26T10:50:39.083+08:00")

public interface MiniAppApiDelegate {

    /**
     * @see MiniAppApi#clickCustomerCollect
     */
    ResponseEntity<ApiResponseNull> clickCustomerCollect(ApiRequestClickCollect param);

    /**
     * @see MiniAppApi#clickCustomerCollectByFsdp
     */
    ResponseEntity<ApiResponseNull> clickCustomerCollectByFsdp(ApiRequestClickCollect param);

    /**
     * @see MiniAppApi#getCapital
     */
    ResponseEntity<ApiResponseCapital> getCapital(ApiRequestSituation param);

    /**
     * @see MiniAppApi#getCommissionAndTrade
     */
    ResponseEntity<ApiResponseCommissionTrade> getCommissionAndTrade(ApiRequestSituation param);

    /**
     * @see MiniAppApi#getCustomerAccountStatus
     */
    ResponseEntity<ApiResponseAccountStatus> getCustomerAccountStatus(ApiRequestCustomerId param);

    /**
     * @see MiniAppApi#getCustomerCreditExchange
     */
    ResponseEntity<ApiResponseCreditExchange> getCustomerCreditExchange(ApiRequestCustomerId param);

    /**
     * @see MiniAppApi#getCustomerCreditPositions
     */
    ResponseEntity<ApiResponseStockPositions> getCustomerCreditPositions(ApiRequestCustomerId param);

    /**
     * @see MiniAppApi#getCustomerInfo
     */
    ResponseEntity<ApiResponseCustomer> getCustomerInfo(ApiRequestCustomerId param);

    /**
     * @see MiniAppApi#getCustomerMot
     */
    ResponseEntity<ApiResponseMessages> getCustomerMot(ApiRequestCustomerId param);

    /**
     * @see MiniAppApi#getCustomerNormalExchange
     */
    ResponseEntity<ApiResponseNormalExchange> getCustomerNormalExchange(ApiRequestCustomerId param);

    /**
     * @see MiniAppApi#getCustomerNormalPositions
     */
    ResponseEntity<ApiResponseStockPositions> getCustomerNormalPositions(ApiRequestCustomerId param);

    /**
     * @see MiniAppApi#getCustomerOptionExchange
     */
    ResponseEntity<ApiResponseOptionExchange> getCustomerOptionExchange(ApiRequestCustomerId param);

    /**
     * @see MiniAppApi#getCustomerOptionPositions
     */
    ResponseEntity<ApiResponseOptionPositions> getCustomerOptionPositions(ApiRequestCustomerId param);

    /**
     * @see MiniAppApi#getCustomerOtcPositions
     */
    ResponseEntity<ApiResponseOtcPositions> getCustomerOtcPositions(ApiRequestCustomerId param);

    /**
     * @see MiniAppApi#getCustomersByFsdpPage
     */
    ResponseEntity<ApiResponseCustomers> getCustomersByFsdpPage(ApiRequestCustomersPage param);

    /**
     * @see MiniAppApi#getCustomersFromFsdp
     */
    ResponseEntity<ApiResponseCustomers> getCustomersFromFsdp(ApiRequestCustomersPage param);

    /**
     * @see MiniAppApi#getCustomersPage
     */
    ResponseEntity<ApiResponseCustomers> getCustomersPage(ApiRequestCustomersPage param);

    /**
     * @see MiniAppApi#getNewOpenCustomers
     */
    ResponseEntity<ApiResponseNewOpenCustomers> getNewOpenCustomers();

    /**
     * @see MiniAppApi#getNewOpenCustomersPage
     */
    ResponseEntity<ApiResponseNewOpenCustomersPage> getNewOpenCustomersPage(ApiRequestNewOpenCustomersPage param);

    /**
     * @see MiniAppApi#getOverview
     */
    ResponseEntity<ApiResponseDepOverview> getOverview(ApiRequestCustomersPage param);

    /**
     * @see MiniAppApi#getSituation
     */
    ResponseEntity<ApiResponseSituation> getSituation(ApiRequestSituation param);

}
